package com.lanchetech.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@ApiModel(value = "com-lanchetech-entity-OrderDiscount")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderDiscount implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Long userId;

    /**
     * 订单id
     */
    @ApiModelProperty(value = "订单id")
    private Long orderId;

    /**
     * 商品SPU id
     */
    @ApiModelProperty(value = "商品SPU id")
    private Long spuId;

    /**
     * 商品SKU id
     */
    @ApiModelProperty(value = "商品SKU id")
    private Long skuId;

    /**
     * 关联优惠 id
     */
    @ApiModelProperty(value = "关联优惠 id")
    private Long relateId;

    /**
     * 已优惠金额
     */
    @ApiModelProperty(value = "已优惠金额")
    private BigDecimal discountAmount;

    /**
     * 优惠类型 40 优惠券 42 积分抵扣 43 购物津贴等
     */
    @ApiModelProperty(value = "优惠类型 40 优惠券 42 积分抵扣 43 购物津贴等")
    private String type;

    /**
     * 优惠级别 0 订单级 1 商品SPU级 2 商品SKU级
     */
    @ApiModelProperty(value = "优惠级别 0 订单级 1 商品SPU级 2 商品SKU级")
    private Byte level;

    /**
     * 优惠状态 0 未使用 1 已使用
     */
    @ApiModelProperty(value = "优惠状态 0 未使用 1 已使用")
    private Byte status;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;

    private static final long serialVersionUID = 1L;
}